Traditional data integrity protection requires a specific tool to be installed in a client or integrated to an application. For instance, one such tool for data integrity comprises software that monitors and alerts the user of suspicious events such as certain types of file changes, thereby protecting data assets. An alternative for data integrity protection over insecure communication systems is to use a Public Key Infrastructure (PKI) based data signing technology utilizing public-private key pairs, wherein the private key is kept secret. In PKI, a digital signature is used to authenticate a message and thereby prevent the message from being altered in transit. The digital signature encrypts the message with the sender's private (signing) key and if the signature can be decrypted with the sender's associated public (verification) key it will establish the identity of the sender and verify that the message has not been altered since it was signed.
Keyless Signature Infrastructure (KSI) is a more recent hash-tree based data signing technology providing data integrity, time stamping and signer identification services. The KSI based signature technology provides an alternative solution to PKI in data integrity protection with reliable integrity proof without assuming continued secrecy of the keys. The KSI technology utilizes data hashes and hash trees for generating signature tokens for data to be integrity protected. KSI has some advantages compared to the traditional data integrity protection technology, whenever there is a need to protect integrity of massive amounts of data and/or when integrity protection of data is required for a long time. For instance, for data sets that are so large that traditional data processing applications are inadequate, so called Big Data, KSI technology suits better than PKI technology.
KSI technology is an excellent choice for integrity protection in, for instance, a machine-to-machine environment (e.g. smart-metering) and an Internet of Things (IoT) environment. A device wishing to use a KSI service needs to have an interface towards the KSI service for sending data signing requests and verification requests. The device combines the data to be protected and a KSI signature, and therefore needs to store the KSI signatures; hence, this requires that the device has large enough storage capacity. The typical size of a KSI signature is more than 3 kilobytes, and a maximum size of the KSI signature might be up to 5 kilobytes (kBs). The storage capacity becomes an issue in particular when the device generates lots of data that needs to be integrity protected by using the KSI service. For example, an average of 1000 KSI signatures generated per 24 hour will require more than 3 megabytes (MBs) data storage for the KSI signatures only.
However, such devices have typically limited amount of data storage capacity, and simply extending its storage capacity is not always feasible, e.g. for cost reasons or simply due to lack of space. Another problem, if increasing the data storage capacity in the device, is the retrieval of the signatures therefrom, which would be burdensome when needed e.g. for digital forensic investigations, since a large amount of signatures will have to be retrieved from a large amount of devices.
Furthermore, the bandwidth of a communication link has to be capable of carrying data amounts needed by the signature transfer without jeopardizing transfer of other traffic to and from the device. Smart devices, for instance, may have access to a network via a radio interface, e.g. Global System for Mobile Communications (GSM) or Wideband Code Division Multiple Access (WCMDA). Such radio interface of the smart device might not have been dimensioned for transmitting packets of the size required for the signature transfer, while also transmitting data.
The number of connected devices is growing exponentially and with such an increasing amount of machine-generated data, there is a need for scalable solutions that can provide proof of tamper- and corruption-free operation.